#include "formulas.h"

//************************************
//************Seleccion*************
//************************************

Proposiciones seleccionarFormula(Formulas formulas, int numero){ //formula por parametro porque tiene char
    return formulas.formula[numero];
}

int seleccionarTope(Formulas formulas){
    return formulas.tope;
}

int seleccionarCantidad(Formulas formulas){
    return formulas.cantidadFormulas;
}

//************************************
//**************Inicio****************
//************************************

void iniciarTope(Formulas &formulas){
    formulas.tope=0;
}

void crearFormula(Formulas &formulas, int CANT){
    formulas.formula=new Proposiciones[CANT];
    formulas.cantidadFormulas=CANT;
    iniciarTope(formulas);
}

void resetearCantidadFormulas(Formulas &formulas){
    formulas.cantidadFormulas=0;
}

//************************************
//************Existencia**************
//************************************

bool existeProposicion(Formulas formulas, int numero){
bool existe=false;
    if((seleccionarTope(formulas)>=numero) && (seleccionarTope(formulas)>0))
        existe=true;
    return existe;
}

bool formulasLleno(Formulas formulas){
bool lleno=false;
    if(seleccionarTope(formulas)==seleccionarCantidad(formulas))
        lleno=true;
    return lleno;
}

bool formulasVacio(Formulas formulas){
bool vacio=false;
    if(seleccionarTope(formulas)==0)
        vacio=true;
    return vacio;
}

//************************************
//********Carga y Eliminacion*********
//************************************

void cargarFormula(Formulas &formulas, Proposiciones proposicion){
    formulas.formula[seleccionarTope(formulas)]=proposicion;
    formulas.tope++;
}

void eliminarFormulas(Formulas &formulas){
int i,top=seleccionarTope(formulas);
    for(i=0;i<top;i++){
        borrarProposicion(formulas.formula[i]);
    }
    delete []formulas.formula;
    iniciarTope(formulas);
    resetearCantidadFormulas(formulas);
}


//************************************
//************Desplegue***************
//************************************

void desplegarFormula(Formulas formulas,int numero){
    desplegarProposicion(seleccionarFormula(formulas,numero--));
}
